package com.xwt.pattern.strategy;

import com.xwt.pattern.utils.Utils;

/**
 * Author:  Steven Xiao
 * Description:策略模式的好处就是：体现了高内聚低耦合的特性呀
 * Date:  2016/3/10
 * Time:  15:58
 */
public class ZhaoYun {
    public static void main(String[] args){
        Context context;
        //刚刚到吴国的时候拆第一个
        Utils.println("---------------刚刚到吴国的时候拆第一个-----------------");

        context  = new Context(new BackDoor());
        context.operate();//拆开执行
        Utils.println("\n\n\n\n\n\n\n\n");

        //刘备乐不思蜀了，拆第二个了
        Utils.println("---------------刘备乐不思蜀了，拆第二个了-----------------");
        context = new Context(new GivenGreenLight());
        context.operate();//执行了第二个锦囊了
        Utils.println("\n\n\n\n\n\n\n\n");

        //孙权的小兵追了，咋办？拆第三个
        Utils.println("---------------孙权的小兵追了，咋办？拆第三个-----------------");
        context = new Context(new BlockEnemy());
        context.operate();//孙夫人退兵
        Utils.println("\n\n\n\n\n\n\n\n");
    }
}
